package com.relytosoft.mizar.media.analyze.api.pojo.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.relytosoft.dubhe.common.core.base.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import org.springframework.format.annotation.DateTimeFormat;

import java.time.LocalDateTime;

/**
 * @author lj
 * @date 2022/5/16 13:56
 */
@ApiModel("AyFaceTaskVo")
public class AyFaceTaskVo extends BaseEntity {

    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
    @ApiModelProperty(value = "主键")
    private Integer id;

    /**
     * 任务名称
     */
    @ApiModelProperty(value = "任务名称")
    private String name;


    /**
     * 任务开始时间;(实时任务、离线视频任务)
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd hh:mm:ss")
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @ApiModelProperty(value = "任务开始时间;(实时任务、离线视频任务)")
    private LocalDateTime beginTime;

    /**
     * 任务结束时间;(实时任务、离线视频任务)
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd hh:mm:ss")
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @ApiModelProperty(value = "任务结束时间;(实时任务、离线视频任务)")
    private LocalDateTime endTime;

    /**
     * 状态描述
     */
    @ApiModelProperty(value = "状态描述")
    private String statusDesc;

    /**
     * 任务状态异常原因
     */
    @ApiModelProperty(value = "任务状态异常原因")
    private String errorReason;


    /**
     * 备注
     */
    @ApiModelProperty(value = "备注")
    private String remark;

    /**
     * 通道个数
     */
    @ApiModelProperty(value ="通道个数")
    private Integer cameraCount;
    /**
     * 占用资源（路）
     */
    @ApiModelProperty(value = "占用资源（路）")
    private Integer licenceUsing;
    /**
     * 状态
     */
    @ApiModelProperty(value ="状态")
    private Integer status;

    /**
     * 获得主键
     */
    public Integer getId(){
        return this.id;
    }
    /**
     * 设置主键
     */
    public void setId(Integer id){
        this.id = id;
    }

    /**
     * 获得任务名称
     */
    public String getName(){
        return this.name;
    }
    /**
     * 设置任务名称
     */
    public void setName(String name){
        this.name = name;
    }

    /**
     * 获取通道个数
     */
    public Integer getCameraCount() { return this.cameraCount; }

    /**
     * 设置通道个数
     */
    public void setCameraCount(Integer cameraCount) { this.cameraCount = cameraCount; }

    /**
     * 获得任务开始时间;(实时任务、离线视频任务)
     */
    public LocalDateTime getBeginTime(){
        return this.beginTime;
    }
    /**
     * 设置任务开始时间;(实时任务、离线视频任务)
     */
    public void setBeginTime(LocalDateTime beginTime){
        this.beginTime = beginTime;
    }

    /**
     * 获得任务结束时间;(实时任务、离线视频任务)
     */
    public LocalDateTime getEndTime(){
        return this.endTime;
    }
    /**
     * 设置任务结束时间;(实时任务、离线视频任务)
     */
    public void setEndTime(LocalDateTime endTime){
        this.endTime = endTime;
    }

    /**
     * 获得状态
     */
    public String getStatusDesc(){
        return this.statusDesc;
    }
    /**
     * 设置状态
     */
    public void setStatusDesc(String statusDesc){
        this.statusDesc = statusDesc;
    }

    /**
     * 获得任务状态异常原因
     */
    public String getErrorReason(){
        return this.errorReason;
    }
    /**
     * 设置任务状态异常原因
     */
    public void setErrorReason(String errorReason){
        this.errorReason = errorReason;
    }

    /**
     * 获得备注
     */
    public String getRemark(){
        return this.remark;
    }
    /**
     * 设置备注
     */
    public void setRemark(String remark){
        this.remark = remark;
    }

    public Integer getLicenceUsing() {
        return licenceUsing;
    }

    public void setLicenceUsing(Integer licenceUsing) {
        this.licenceUsing = licenceUsing;
    }

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    @Override
    public String toString() {
        return "AyFaceTaskVo{" +
                "id=" + id +
                ", name='" + name + '\'' +
                ", beginTime=" + beginTime +
                ", endTime=" + endTime +
                ", statusDesc='" + statusDesc + '\'' +
                ", errorReason='" + errorReason + '\'' +
                ", remark='" + remark + '\'' +
                ", cameraCount=" + cameraCount +
                ", licenceUsing=" + licenceUsing +
                ", status=" + status +
                ", createdId=" + createdId +
                ", createdBy='" + createdBy + '\'' +
                ", createdTime=" + createdTime +
                ", updatedId=" + updatedId +
                ", updatedBy='" + updatedBy + '\'' +
                ", updatedTime=" + updatedTime +
                '}';
    }
}
